const App = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    activeId: 0, // 活动id
  },

  /**
   * 获取地理位置
   */
  getLocation() {
    let _this = this
    wx.getLocation({
      type: 'wgs84',
      success(res) {
        App._post_form('user/location', {
          latitude: res.latitude,
          longitude: res.longitude,
          speed: res.speed,
          accuracy: res.accuracy,
        }, result => {})
      },
      fail() {
        _this.showTips('请在右上角的设置打开“允许使用我的地理位置”');
      },
    })
  },

  /**
   * 执行活动逻辑
   */
  runActive() {
    let _this = this;
    wx.showLoading({title:'加载中', mask: true});
    App._post_form('spread.active/run', {
      active_id: _this.data.activeId
    }, result => {
      wx.hideLoading();
      // 需要绑定手机
      if (result.data.action && result.data.action == 'phone') {
        App.navigationTo('pages/phone/index');
        return;
      }
      // 显示信息
      _this.showTips(result.msg);
    }, (res, err) => {
      err.confirm && wx.navigateBack();
    }, () => {
      wx.hideLoading();
    });
  },

  /**
   * 显示提示信息
   */
  showTips(msg) {
    wx.showModal({
      title: '友情提示',
      content: msg,
      showCancel: false,
      success(res) {
        res.confirm && wx.navigateBack();
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let _this = this;
    // 接收参数
    _this.setData({
      activeId: options.active_id
    });
    // 获取地理位置
    _this.getLocation();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let _this = this;
    // 获取活动配置
    App.checkIsLogin() && _this.runActive();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }

})
